# 类的深拷贝与浅拷贝
class CPU:
    pass
class Disk:
    pass

class Comoputer():
    #计算机由CPU和硬盘组成v
    def __init__(self,cpu,disk):
        self.cpu = cpu
        self.disk = disk

cpu=CPU()
disk=Disk()

com=Comoputer(cpu,disk)

# 内存地址相同 对象相同
com1 = com
print(com,'子对象的地址：',com.cpu,com.disk)
print(com1,'子对象的地址：',com1.cpu,com1.disk)

# 类对象的浅拷贝
import copy
com2 = copy.copy(com) # com2是新对象 com2中disk和cpu不变
print(com,'子对象的地址：',com.cpu,com.disk)
print(com2,'子对象的地址：',com2.cpu,com2.disk)

# 类对象的深拷贝
com3 = copy.deepcopy(com) # com3是新对象 com3中disk和cpu也是新对象
print(com,'子对象的地址：',com.cpu,com.disk)
print(com3,'子对象的地址：',com3.cpu,com.disk)

# 自行画图